//JQuery插件
(function($) {
	$.fn.extend({
		/**
		 * 开启iframe
		 */
		openFrame: function(options) {
			var opts = {
				src: "",
				width: "1000px",
				height: "600px",
				panel: true
			};
			//参数自动注入
			$.extend(opts, options);
			
			//打开panel
			if(opts.panel) {
				$("#ifm_panel").show();
			}
			
			//初始化iframe
			$(this).find("iframe").attr({
				src: opts.src,
				width: opts.width,
				height: opts.height
			});
			
			//设置div长和宽
			$(this).css({
				width: opts.width,
				height: opts.height
			}).show();
		},
		
		/**
		 * 关闭iframe
		 */
		closeFrame: function() {
			try {
				$(this).find("iframe").contents().find("body").append("<div style='position:fixed; margin:auto; top:0; bottom:0; left:0; right:0; background-color:#FFFFFF; z-index:9999;'></div>");
			}catch(e) {
			}finally {
				$(this).hide();
				$("#ifm_panel").hide();
			}
		},
		
		/**
		 * 开启分页
		 */
		openPage: function(options) {
			var opts = {
				formId: "query_form",
				pageId: "paging_page",
				countId: "paging_count"
			};
			//参数自动注入
			$.extend(opts, options);
			
			//数据行数select监听
			$(this).find("select").change(function() {
				$("#"+opts.countId).val($(this).val());
				$("#"+opts.pageId).val(1);
				
				//提交表单
				$("#"+opts.formId).submit();
			});
			
			//go按钮监听
			$(this).find("button").click(function() {
				var p = $(this).prev().val();
				if(!p || isNaN(p)) {
					alert("请输入合法的页面数字！");return;
				}
				//最小页数
				if(p < 1) {
					p = 1;
				}else {
					//最大页数
					var cp = $(this).val();
					if(p > cp) {
						p = cp;
					}
				}
				
				//当前页数
				var tp = $("#"+opts.pageId).val();
				if(p == tp) return;
				
				$("#"+opts.pageId).val(p);
				//提交表单
				$("#"+opts.formId).submit();
			});
			
			//分页监听
			$(this).find("a").click(function() {
				var p = $(this).attr("value");
				
				//当前页数
				if(p == $("#"+opts.pageId).val()) return;
				
				$("#"+opts.pageId).val(p);
				//提交表单
				$("#"+opts.formId).submit();
			});
		},
		
		/**
		 * checkbox单选
		 */
		singleBox: function() {
			var all = $(this);
			all.find("input[type=checkbox]").click(function() {
				if(this.checked) {
					all.find("input[type=checkbox]:checked").not(this).attr("checked", false);
				}
			});
		},
		
		/**
		 * 获取选中的checkbox值
		 */
		getBoxVals: function(options) {
			var opts = {
				link: ",",
				type: "join"
			};
			//参数自动注入
			$.extend(opts, options);
			
			var vs = [];
			$(this).find("input[type=checkbox]:checked").each(function() {
				vs.push(this.value);
			});
			
			if(opts.type == "join") {
				return vs.join(opts.link);
			}else if(opts.type == "array") {
				return vs;
			}
		},
		
		/**
		 * checkbox全选或者全不选
		 */
		boxManager: function(options) {
			var opts = {
				tbodyId: "dz_tbody"
			};
			//参数自动注入
			$.extend(opts, options);
			
			$(this).click(function() {
				if(this.checked) {
					$("#"+opts.tbodyId).find("input[type=checkbox]").attr("checked", true);
				}else {
					$("#"+opts.tbodyId).find("input[type=checkbox]").attr("checked", false);
				}
			});
		}
	});
})(jQuery);